home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor1 / rotate.src < prev    next >
Text File  |  1991-10-19  |  2KB  |  69 lines

  1. %%HP: T(3)A(R)F(.);
  2. @ ROTATE: This program was written By Robert Craeger and Robert Thompson
  3. @
  4. @
  5. @ In the hopes of being able to print GROBS that were too long to fit into 
  6. @ the 166 dot requirement of the printer, the program below was written.  This
  7. @ program will rotate a GROB and print it vertically on the IR printer that
  8. @ so many of us wish we had. :-)
  9. @
  10. @ Unfortunately, this program is slow (Not *really* slow but slow
  11. @ nevertheless)  A future version is planned that will be entirely in
  12. @ m-code.  (6/21/91: sorry haven't had the time to learn M-CODE :-(  )
  13. @
  14. @ [Note: Owners of Jim Donnelly's "Tool Library" can use its ROTATE function,
  15. @  written in machine language, instead of this program.  -jkh-]
  16. @
  17. @ Please send any remarks to:
  18. @
  19. @                robert at longs.LANCE.ColoState.Edu
  20. @                               or
  21. @                rc943406 at longs.LANCE.ColoState.Edu
  22. @
  23. @ REMARKS:
  24. @               Remember to set the appropriate modes on your 48 when using
  25. @       the old printer.  OLDPRT SHOULD NOT BE ENABLED! for the old printer
  26. @
  27. @ PSEUDOBENCHMARK:
  28. @               This program takes approximatly 1.5 Minutes on a 50x63 GROB
  29. @
  30. @ BUGS:
  31. @               This program needs an inane amount of memory to run!
  32.  
  33. DIR
  34.   ROTATE
  35.     \<< HEX STRIP
  36. OVER 2 / FLOOR 83 -
  37. NEG 27 CHR 4 PICK 3
  38. PICK + CHR + SWAP 1
  39. SWAP
  40.       START 0 CHR +
  41.       NEXT \-> x y
  42. str pad
  43.       \<< 8 STWS 0 x
  44. 8 / FLOOR 1 -
  45.         FOR h h 2 *
  46. 1 + \-> cnst
  47.           \<< pad y 1
  48. - 0
  49.             FOR i
  50. "#" str i x * 4 /
  51. cnst + DUP 1 + SUB
  52. + STR\-> RR RR RR RR
  53. B\->R CHR + -1
  54.             STEP PR1
  55.           \>> DROP
  56.         NEXT
  57.       \>>
  58.     \>>
  59.   STRIP
  60.     \<< DUP SIZE B\->R
  61. SWAP B\->R 8 / CEIL 8
  62. * SWAP ROT \->STR 1 3
  63.       START DUP " "
  64. POS 1 + OVER SIZE
  65. SUB
  66.       NEXT
  67.     \>>
  68. END
  69.